package com.dbdata.move.model;

// Generated cafuc by Hibernate Tools 4

import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.OneToOne;
import javax.persistence.PrimaryKeyJoinColumn;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import org.hibernate.annotations.GenericGenerator;
import org.hibernate.annotations.Parameter;

/**
 * EnglishGrade generated by hbm2java
 */
@Entity
@Table(name = "english_grade")
public class EnglishGrade implements java.io.Serializable {

	private long id;
	private Student student;
	private String licenceNumber;
	private Integer totalGrade;
	private Integer pronuncation;
	private Integer structure;
	private Integer vocabulary;
	private Integer fluency;
	private Integer comprehension;
	private Integer interaction;
	private Date examDate;

	public EnglishGrade() {
	}

	public EnglishGrade(Student student, String licenceNumber) {
		this.student = student;
		this.licenceNumber = licenceNumber;
	}

	public EnglishGrade(Student student, String licenceNumber,
			Integer totalGrade, Integer pronuncation, Integer structure,
			Integer vocabulary, Integer fluency, Integer comprehension,
			Integer interaction, Date examDate) {
		this.student = student;
		this.licenceNumber = licenceNumber;
		this.totalGrade = totalGrade;
		this.pronuncation = pronuncation;
		this.structure = structure;
		this.vocabulary = vocabulary;
		this.fluency = fluency;
		this.comprehension = comprehension;
		this.interaction = interaction;
		this.examDate = examDate;
	}

	@GenericGenerator(name = "generator", strategy = "foreign", parameters = @Parameter(name = "property", value = "student"))
	@Id
	@GeneratedValue(generator = "generator")
	@Column(name = "ID", unique = true, nullable = false)
	public long getId() {
		return this.id;
	}

	public void setId(long id) {
		this.id = id;
	}

	@OneToOne(fetch = FetchType.LAZY)
	@PrimaryKeyJoinColumn
	public Student getStudent() {
		return this.student;
	}

	public void setStudent(Student student) {
		this.student = student;
	}

	@Column(name = "LICENCE_NUMBER", nullable = false, length = 20)
	public String getLicenceNumber() {
		return this.licenceNumber;
	}

	public void setLicenceNumber(String licenceNumber) {
		this.licenceNumber = licenceNumber;
	}

	@Column(name = "Total_Grade")
	public Integer getTotalGrade() {
		return this.totalGrade;
	}

	public void setTotalGrade(Integer totalGrade) {
		this.totalGrade = totalGrade;
	}

	@Column(name = "PRONUNCATION")
	public Integer getPronuncation() {
		return this.pronuncation;
	}

	public void setPronuncation(Integer pronuncation) {
		this.pronuncation = pronuncation;
	}

	@Column(name = "STRUCTURE")
	public Integer getStructure() {
		return this.structure;
	}

	public void setStructure(Integer structure) {
		this.structure = structure;
	}

	@Column(name = "VOCABULARY")
	public Integer getVocabulary() {
		return this.vocabulary;
	}

	public void setVocabulary(Integer vocabulary) {
		this.vocabulary = vocabulary;
	}

	@Column(name = "FLUENCY")
	public Integer getFluency() {
		return this.fluency;
	}

	public void setFluency(Integer fluency) {
		this.fluency = fluency;
	}

	@Column(name = "COMPREHENSION")
	public Integer getComprehension() {
		return this.comprehension;
	}

	public void setComprehension(Integer comprehension) {
		this.comprehension = comprehension;
	}

	@Column(name = "INTERACTION")
	public Integer getInteraction() {
		return this.interaction;
	}

	public void setInteraction(Integer interaction) {
		this.interaction = interaction;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "EXAM_DATE", length = 19)
	public Date getExamDate() {
		return this.examDate;
	}

	public void setExamDate(Date examDate) {
		this.examDate = examDate;
	}

}
